package com.innoking.docsys.workflow.service;

import com.innoking.docsys.workflow.dto.UpmsActDefine;
import com.innoking.docsys.workflow.example.UpmsActDefineClusterExample;

import java.util.List;

/**
 * 描述:
 *
 * @author zyp
 * @description 工作流定义接口业务层
 * @create 2019-02-26 13:43
 */
public interface WorkflowDefineService {

    /**
     * @author:zyp
     * @description 插入工作流定义
     * @date: 2019/2/26 14:29
     * @return 
     */
    int insert(UpmsActDefine upmsActDefine);

    /**
     * @author:zyp
     * @description 根据key获取定义内容
     * @date: 2019/9/9 13:55
     * @return 
     */
    List<UpmsActDefine> selectDefineByKey(String key);

    /**
     * @author:zyp
     * @description 根据流程关联修改状态
     * @date: 2019/2/26 14:11
     * @return
     */
    int updateStatusByAdCode(String adCode);
    
    /**
     * @author:zyp
     * @description 根据code与key查看 是否已经存在
     * @date: 2019/9/9 15:46
     * @return 
     */
    boolean isExistByCodeKey(String key,String adCode);

    /**
     * @author:zyp
     * @description 修改工作流定义关系
     * @date: 2019/9/9 15:59
     * @return 
     */
    void updateWorkflowDefine(UpmsActDefine upmsActDefine,UpmsActDefineClusterExample upmsActDefineExample);

    /**
     * @author:zyp
     * @description 根据定义的code，获取最新的工作流唯一标识
     * @date: 2019/9/10 10:36
     * @return 
     */
    UpmsActDefine getNewAct(String activitiType);

}